package com.tbit.main.service;

import com.tbit.main.pojo.Camera;
import com.tbit.main.pojo.MachineFunction;

import java.util.List;

/**
 * @author LMY
 * @create 2022-02-25 13:57
 */
public interface MachineFunctionService {

    boolean checkIsSendControl(Integer machineId);

    /**
     * 根据车辆id和类型查询
     *
     * @param machineId
     * @param type
     * @return
     */
    MachineFunction getMachineIdType(Integer machineId, Integer type);

    /**
     * 根据车辆id和类型查询
     *
     * @param machineId
     * @return
     */
    MachineFunction getMachineIdHelmet(Integer machineId);

    /**
     * 根据车辆ids和类型查询
     *
     * @param machineIds
     * @param type
     * @return
     */
    List<MachineFunction> getMachineIdsType(List<Integer> machineIds, Integer type);

    /**
     * 根据类型查询
     *
     * @param type
     * @return
     */
    List<Integer> getType(List<Integer> type);

    /**
     * 添加
     *
     * @param machineNO
     */
    void add(String machineNO, List<Integer> functionType, Integer functionValue,Integer functionMode);

    /**
     * 批量删除
     *
     * @param machineNO
     */
    void del(String machineNO, Integer functionType);

    void closeMachineId(Integer machineId, List<Integer> functionType);

    /**
     * 批量删除
     *
     * @param machineNO
     */
    void delId(String machineNO);

    /**
     * 根据id查询
     *
     * @param machineId
     * @return
     */
    List<MachineFunction> getMachineId(Integer machineId);

    /**
     * 批量新增功能配置
     * @param functions 功能参数
     */
    void batchAdd(List<MachineFunction> functions);

    /**
     * 批量新增摄像头配置
     * @param cameraList 摄像头配置
     */
    void addCameraBatch(List<Camera> cameraList);
}
